Customer care training using chatbots

ABSTRACT

A system, computer program product, and method are disclosed. In an approach to train customer service agent using chatbots. The method includes training a chatbot for a customer chat simulation based on a customer service conversation data, a task scenario, and a customer persona. The method also includes monitoring an interaction between a customer service agent and the chatbot. The method further includes determining an assessment of the performance of the customer service agent based on the interaction between the customer service agent and the chatbot. The method additionally includes generating feedback for the customer service agent based on the assessment of the performance of the customer service agent.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of chatbots, andmore particularly to customer care training using chatbots.

The term chatbot refers to a computer program that provides automatedconversations with humans. Chatbots offer conversational experiences byinterpreting human natural language input and generating one or moreresponses. Chatbots translate natural language input using naturallanguage processing (NLP) methods and often generate responses based onmachine learning constructs, such as supervised and/or unsupervisedlearning methods. Using these methods, chatbots can interpret naturallanguage to analyze and extract open and/or closed questions, sentiment,conference, ambiguity, text structures, summarizations, and othernatural language processing tasks from text, speech, and/or images.

SUMMARY

Embodiments of the present invention disclose a method, a computerprogram product, and a system for training a customer service agentusing chatbots. The method may include one or more processors training achatbot for a customer chat simulation based on a customer serviceconversation data, a task scenario, and a customer persona. The methodmay further include one or more processors monitoring an interactionbetween a customer service agent and the chatbot. The method mayadditionally include one or more processors determining an assessment ofthe performance of the customer service agent based on the interactionbetween the customer service agent and the chatbot. The method mayfurther include generating feedback for the customer service agent basedon the assessment of the performance of the customer service agent.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram view of an embodiment of a system, accordingto the present invention;

FIG. 2 is a flowchart showing an embodiment of a method for trainingcustomer service agents using chatbots;

FIG. 3 is a block diagram showing a machine logic (for example,software) portion of an embodiment of the present invention;

FIG. 4 is a block diagram of components of a computer executing anintegrated learning environment program according to the presentinvention;

FIG. 5 depicts a block diagram of an embodiment, according to thepresent invention; and

FIG. 6 depicts an exemplary sequence-to-sequence model, according to anembodiment of the present invention.

DETAILED DESCRIPTION

Customer service is the bridge between an organization and its currentand potential customers. If an organization wants to improve the qualityof its customer service, the efforts must begin with the training of theservice agents. Many organizations spend tremendous resources to provideextensive training to their agents pertaining to products, services, andguidelines for dealing with concerns and requests from customers.However, current training practices fail to include situational feedbackfor customer service agents in a cost-effective environment.

Embodiments of the present invention recognize that simulation ofcustomer styles and behaviors as well as offering situational feedbackmay be advantageous for customer service agent training. Embodiments ofthe present invention further recognize that customer serviceinteraction data may be used to determine a chatbot behavior andresponses. Embodiment of the present invention additionally recognizethat customer service agent training may be performed by using a chatbotfor customer simulation. Embodiments of the present inventionadditionally recognize that providing an assessment of the performanceof a customer service agent based on interaction with the customersimulation may increase the uniformity of customer service agentresponses and styles by allowing the company to provide situationalfeedback to the customer service agent based on the assessment.

Implementation of embodiments of the invention may take a variety offorms, and exemplary implementation details are discussed subsequentlywith reference to the Figures.

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, generally designated 100, in accordance with oneembodiment of the present invention. The term “distributed” as used inthis specification describes a computer system that includes multiple,physically distinct devices that operate together as a single computersystem. FIG. 1 provides only an illustration of one implementation anddoes not imply any limitations with regard to the environments in whichdifferent embodiments may be implemented. Many modifications to thedepicted environment may be made by those skilled in the art withoutdeparting from the scope of the invention as recited by the claims.

Distributed data processing environment 100 includes server computer 104and user workstation 114, all interconnected over network 102.

In general, network 102 can be any combination of connections andprotocols that will support communications between server computer 104and user workstation 114, and other computing devices (not shown) withindistributed data processing environment 100. Network 102 can be, forexample, a telecommunications network, a local area network (LAN), awide area network (WAN), such as the Internet, or a combination of thethree, and can include wired, wireless, or fiber optic connections.Network 102 can include one or more wired and/or wireless networks thatcan receive and transmit data, voice, and/or video signals, includingmultimedia signals that include voice, data, and video information.

Server computer 104 can be a standalone computing device, a managementserver, a content services, a mobile computing device, or any otherelectronic device or computing system capable of receiving, sending, andprocessing data. In other embodiments, server computer 104 can representa server computing system utilizing multiple computers as a serversystem, such as in a cloud computing environment. In another embodiment,server computer 104 can be a laptop computer, a tablet computer, anetbook computer, a personal computer (PC), a desktop computer, apersonal digital assistant (PDA), a smart phone, or any otherprogrammable electronic device capable of communicating user workstation114, and other computing devices (not shown) within distributed dataprocessing environment 100 via network 102. In another embodiment,server computer 104 represents a computing system utilizing clusteredcomputers and components (e.g., database server computers, applicationserver computers, etc.) that act as a single pool of seamless resourceswhen accessed within distributed data processing environment 100. Servercomputer 104 may include internal and external hardware components, asdepicted and described in further detail with respect to FIG. 4.

Database 112 is a repository for data used by integrated learningenvironment program 106. Data used by integrated learning environmentprogram 106 may include customer service interaction data. In thedepicted embodiment, database 112 resides on server computer 104.Customer service interaction data may include text and/or speechconversations between customers and customer service agents. Customerservice interaction data may further include contextual information suchas social media profiles and demographics data, among others. Customerservice interaction data may be collected from customer service callcenters, social media, and/or any other source of conversations betweencustomers and customer service agents. In another embodiment, database112 may reside elsewhere within distributed data processing environment100 provided integrated learning environment program 106 has access todatabase 112.

User workstation 114 enables a user to log-in and interact withintegrated learning environment program 106 on server computer 104. Insome embodiments of the present invention, user workstation 114 is adevice that performs programmable instructions. For example, userworkstation 114 can be a laptop computer, a tablet computer, a smartphone, or any programmable electronic mobile device capable ofcommunicating with various components and devices within distributeddata processing environment 100, via network 102. In general, userworkstation 114 represents any programmable electronic mobile device orcombination of programmable electronic mobile devices capable ofexecuting machine readable program instructions and communicating withother computing devices (not shown) within distributed data processingenvironment 100 via a network, such as network 102. User workstation 114includes an instance of user interface 116.

User interface 116 provides an interface to integrated learningenvironment program 106 on server computer 104 for a user of userworkstation 114. In some embodiments of the present invention, userinterface 116 may be a graphical user interface (GUI) or a web userinterface (WUI) and can display text, documents, web browser windows,user options, application interfaces, instructions for operation, andinclude the information (such as graphic, text, and sound) that aprogram presents to a user and the control sequences the user employs tocontrol the program. In other embodiments, user interface 116 may alsobe mobile application software that provides an interface between a userof user workstation 114 and server computer 104. Mobile applicationsoftware, or an “app,” is a computer program designed to run on smartphones, tablet computers, and other mobile devices. User interface 116enables the user of user workstation 114 to receive customer serviceagent training on integrated learning environment program 106. Inaccordance with some embodiments, users receive training on integratedlearning environment program 106 by interaction with user interface 116,which may include touch screen devices, audio capture devices, and othertypes of user interfaces. In other embodiments, user interface 116 maybe an external device operatively connected to user workstation 114 vianear-field communication or other types of wired and/or wirelesstechnologies.

Server computer 104 includes integrated learning environment program 106to train customer service agents using chatbots (see FIG. 5, blockdiagram 500). Integrated learning environment program 106 receivescustomer service interaction data and provides a simulated naturallearning environment for training customer service agents. In someembodiments of the present invention, integrated learning environmentprogram 106 consists of a customer chatbots module 108 and a feedbackgeneration module 110.

Customer chatbots module 108 simulates different types of customers indifferent task scenarios. In some embodiments of the present invention,customer chatbots module 108 includes style simulator module 302, tasksimulator module 304, and context simulator module 306 (see FIG. 3). Insome embodiments, the types of customer chatbots styles can be built asa bottom-up taxonomy derived from the customer service interaction databy performing unsupervised machine learning methods to extract tone andpersona styles manifested in the customer service interaction data. Inother embodiments, customer chatbots module 108 can learn a pre-definedtop-down taxonomy of styles in a supervised machine learning fashionusing annotated customer service interaction data.

In an exemplary embodiment, customer chatbots module 108 may include ataxonomy of five chatbots persona styles. In this exemplary embodiment,customer chatbots module 108 may include a first customer chatbot thatmay attempt to avoid confrontation and explicitly avoid making itscomplaints known at the time. Customer service agents may be trained toproactively initiate the conversation to solicit comments and complaintsfrom the first customer chatbot. After identifying the comments andcomplaints from the first customer chatbot, customer service agents aredirected to address the comments and complaints.

Continuing our exemplary embodiment, customer chatbots module 108 mayinclude a second customer chatbot that may attempt to complain loudlyand at length. The second customer chatbot may likely not respond wellto reasons or perceived excuses about why the product or service isunsatisfactory. Customer service agents may be trained to listenpatiently, carefully agree with the chatbot, and carefully indicateoptions to address the problem.

In this exemplary embodiment, customer chatbots module 108 may alsoinclude a third customer chatbot simulating customers who expecthigh-end, absolute best products, and are willing and able to pay forthese products. The third customer chatbot may be designed to complainin a moderate manner and may not be interested in what may be perceivedto be excuses or explanations. Customer service agents may be trained toidentify the third customer chatbot and to provide options to acquire orupgrade to the best products or services available.

Continuing our exemplary embodiment, customer chatbots module 108 mayalso include a fourth customer chatbot that may not have a complaint tosolve but rather attempts to gain things (e.g., refunds, free products,etc.) that it is not entitled to have. Customer service agents may betrained to identify the fourth customer chatbot and to apply companyanti-fraud policies.

In this exemplary embodiment, customer chatbots module 108 may furtherinclude a fifth customer chatbot that simulates a repeat customer thatcan never be satisfied. Customer service agents may be trained toidentify the fifth customer chatbot and listen patiently.

In some embodiments of the present invention, customer chatbots module108 may apply statistical machine learning techniques and/or deeplearning techniques to simulate customer requests and customerresponses. The additional information, such as customer persona, task,and context, may be considered, at least in part, in three possibleways: (i) customer chatbots module 108 may generate multiple responsesand select at least one response according to the target style, tone, orpersona (e.g., by performing a beam search); (ii) customer chatbotsmodule 108 may include a separate method to modify generated responses(e.g., sequence-to-sequence model, word-graph construction approach,multi-sentence compression, among others); and (iii) customer chatbotsmodule 108 may include models to directly consider the persona, task,and context as additional constraints in the response generation (e.g.,in sequence-to-sequence learning with neutral networks, word embeddingcan be trained directly to learn constraints for response generation).

Feedback generation module 110 provides feedback to the customer serviceagents by continuous assessment of the style and performance of theinteraction of customer service agents and the customer chatbots module108. In some embodiments of the present invention, feedback generationmodule 110 includes style assessment module 308, expertise assessmentmodule 310, and situational feedback module 312.

In some embodiments, feedback generation module 110 includes styleassessment module 308 that allows organizations to define targetcustomer service styles. In some embodiments, feedback generation module110 allows quantitatively measuring target customer service styles usinga supervised or semi-supervised machine learning method to assess stylesrepresented in a conversation. In these embodiments, crowdsourcing orany other suitable methods may be used to label a subset of the customerservice interaction data with a number of style attributes. In otherembodiments, the styles of customer service agents may be derived fromthe customer service interaction data by an unsupervised machinelearning method.

In an exemplary embodiment, feedback generation module 110 may include ataxonomy of four customer service agent styles. In this exemplaryembodiment, feedback generation module 110 may include a first customerservice style where customer service agents are trained to observe morethan they talk. In some embodiments, the first customer service styledirects customer service agents to be patient and offer specific andcomplete explanations to the questions and concerns of the customerchatbot.

Continuing our exemplary embodiment, feedback generation module 110 mayinclude a second customer service style where customer service agentsare trained to look for opportunities to socialize with customers. Insome embodiments, the second customer service style directs customerservice agents to be enthusiastic when communicating with customers.

In another aspect of our exemplary embodiment, feedback generationmodule 110 may include a third customer service style where customerservice agents are trained to be conservative and formal. In someembodiments, the third customer service style directs customer serviceagents to carry on lengthy conversations when attempting to get answersto questions. In some embodiments, the third customer service style mayfurther direct customer service agents to heavily rely on practicalinformation such as times, dates, and other verifiable data to informtheir decisions to the customer.

In this exemplary embodiment, feedback generation module 110 may furtherinclude a fourth customer service style where customer service agentsare trained to work proactively toward a solution to the questions orconcerns of the customer. In some embodiments, the fourth customerservice style directs customer service agents to display a confidentdemeanor. In some embodiments, customer service agents are trained toask specific, direct questions and offer short, straight answers.

In some embodiments of the present invention, feedback generation module110 may assess the progress of the customer service agent and providesituational feedback to help agents better engage with a simulatedcustomer. In some embodiments of the present invention, feedbackgeneration module 110 includes expertise assessment module 310 to assessthe training progress of customer service agents. In some embodiments ofthe present invention, feedback generation module 110 evaluates theperformance of an agent ranging from utterance level to task level.

In an exemplary embodiment, feedback generation module 110 performsexpertise assessment by applying a sequence-to-sequence model toautomatically generate agent responses to address customer requests. Inthis exemplary embodiment, feedback generation module 110 computes thesimilarity between the responses generated by the model and theresponses provided by the agent by automatic metrics (e.g., BLEU,Tf-idf, word2vec, and other methods for determining text similarity). Inanother exemplary embodiment, feedback generation module 110 may providean interface for manual ratings of the expertise level of customerservice agents and adopt a supervised method to assess the performanceof customer service agents automatically.

In some embodiments of the present invention, feedback generation module110 includes situational feedback module 312 to provide feedback whileconsidering the style, training level, and performance of customerservice agents. For example, if feedback generation module 110identifies a customer service agent as a low-level trainee, feedbackgeneration module 110 may provide multiple responses (e.g., generated bya sequence-to-sequence model) shown as a multiple-choice question. Inthis example, feedback generation module 110 may ask the customerservice agent to select the best response. In another example, iffeedback generation module 110 identifies the customer service agent asa mid-level trainee, feedback generation module 110 may provide aresponse template. In this example, feedback generation module 110 mayask the customer service agent to fill out the template to respond tothe customer request. In yet another example, if feedback generationmodule 110 identifies the customer service agent as a high-leveltrainee, feedback generation module 110 may only provide hints such asdesired phrases, keywords, and/or topics. In some embodiments, theprovided hints may be extracted from generated responses.

In some embodiments of the present invention, customer chatbots module108 adjusts simulated customer styles and tasks based on the evaluationresults of a customer service agent by feedback generation module 110.In some embodiments, customer chatbots module 108 may also providefeedback based on the evaluation results of a customer service agent byfeedback generation module 110. For example, if the customer serviceagent performs below a predetermined threshold, customer chatbots module108 provides concrete feedback to the customer service agent and reducesthe task difficulty. In contrast, if the customer service agent performsabove the predetermined threshold, customer chatbots module 108 providesless situational feedback and increases the uncertainty in customerresponses simulated by chatbots.

In some embodiments of the present invention, integrated learningenvironment program 106 may also provide optimal mapping betweencustomer service agents and customers. For example, integrated learningenvironment program 106 may store the style and performance of acustomer service agent with respect to different types of customers andtask scenarios during the training process. In some embodiments, thestyle and performance of a customer service agent can be used as groundtruth to learn a customer service routing system to consider the matchbetween the style of a customer service agent and customer personas.

Integrated learning environment program 106 is depicted and described infurther detail with respect to FIG. 2. Referring to flowchart 200,integrated learning environment program 106 provides a simulatedlearning environment for customer service agents training using customerchatbots.

Processing begins at operation 255, where integrated learningenvironment program 106 receives a customer persona. In some embodimentsof the present invention, the types of customer chatbots styles can bebuilt as a bottom-up taxonomy derived from the customer serviceinteraction data by performing unsupervised machine learning methods toextract tone and persona styles manifested in the customer serviceinteraction data. In other embodiments, customer chatbots module 108 canlearn a pre-defined top-down taxonomy of styles in a supervised machinelearning fashion using annotated customer service interaction data. Insome embodiments, the persona may be a taxonomy of five customerchatbots as described in this disclosure.

In an exemplary embodiment, integrated learning environment program 106receives a persona corresponding to the first customer chatbot (i.e., achatbot that attempts to avoid confrontation and explicitly avoid makingits complaints known at the time).

Processing continues at operation 260, where integrated learningenvironment program 106 determines a chatbot behavior and responsesusing a customer service interaction data and the persona. In someembodiments of the present invention, the chatbot behavior and responsesare determined for a customer simulation in a task scenario. In someembodiments, customer chatbots module 108 may apply statistical machinelearning techniques and/or deep learning techniques to simulate customerbehavior and customer responses. In some embodiments, the customerpersona, task, and context may be considered for chatbot behavior andresponses as follows: (i) generate multiple responses and select atleast one response according to the target style, tone, or persona; (ii)generate responses based on sequence-to-sequence model, word-graphconstruction approach, multi-sentence compression approach, or any othersuitable model for generating responses; and (iii) include models todirectly consider the persona, task, and context as additionalconstraints such as word embedding in a sequence-to-sequence model.

Continuing our exemplary embodiment, integrated learning environmentprogram 106 determines a chatbot behavior based on customer serviceinteraction data and the persona corresponding to the first customerchatbot for training of a customer service agent named Ben. In thisexemplary embodiment, the task scenario includes an airline customer inan international flight schedule where the first flight has beendelayed. In this exemplary embodiment, the chatbot initiates thetraining by sending the message “My flight is Delayed!” to Ben. Bensends the message “I am sorry to hear that. I am here to help. What'syour flight number?” in reply.

Processing continues at operation 265, where integrated learningenvironment program 106 determines an assessment of the performance of acustomer service agent based on an interaction with the customersimulation. In some embodiments of the present invention, integratedlearning environment program 106 provides a supervised method to assessthe performance of customer service agents automatically by providing aninterface for manual ratings of the expertise level of customer serviceagents. In other embodiments, integrated learning environment program106 determines an assessment of the performance of a customer serviceagent by applying a sequence-to-sequence model to automatically generateagent responses to address customer requests and determining thesimilarity between the responses generated by the model and theresponses provided by the agent by automatic metrics, such as a BLEUscore. In some embodiments, integrated learning environment program 106may continue processing at operation 260 to determine a chatbot behaviorand responses based on the interaction between the chatbot and thecustomer service agent.

Continuing our exemplary embodiment (see FIG. 6, element 600) of asequence-to-sequence model, encoder 604 is a neural network that maps avariable-length input sequence 602 to fixed-length vector 606 anddecoder 608 is a neural network that maps fixed-length vector 606 tovariable-length output sequence 610. In this exemplary embodiment, asimulated customer sends variable-length input sequence 602 (e.g., “Myflight is Delayed!”) to the customer service agent. In response toreceiving the input sequence 602, decoder 608 generates variable-lengthoutput sequence 610 (e.g., “What's your flight number?”) as a reply. Inthis exemplary embodiment, integrated learning environment program 106then compares the variable-length output sequence 610 with the replyfrom the customer service agent (e.g., “I am sorry to hear that. I amhere to help. What's your flight number?”) and generates a score forBen's performance. In our exemplary embodiment, integrated learningenvironment program 106 generates a score of 0.8 for the reply providedby Ben.

Processing proceeds at operation 270, where integrated learningenvironment program 106 determines a feedback for the customer serviceagent based on the assessment. In some embodiments of the presentinvention, integrated learning environment program 106 provides feedbackby considering the style, training level, and performance of customerservice agents (e.g., considering agent responses based on expectedskill level of the customer service agent).

Continuing our exemplary embodiment, integrated learning environmentprogram 106 identifies the high score for the provided reply. In thisexemplary embodiment, integrated learning environment program 106 mayremind Ben that not all customers will be explicit about their concernsand encourages Ben to verify the complete flight schedule to determinethe possibility of a missed flight.

FIG. 4 depicts a block diagram 400 of components of server computer 104within distributed data processing environment 100 of FIG. 1, inaccordance with an embodiment of the present invention. It should beappreciated that FIG. 4 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments can be implemented. Manymodifications to the depicted environment can be made.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

Computing device 405 and server computer 104 include communicationsfabric 402, which provides communications between computer processor(s)404, memory 406, persistent storage 408, communications unit 410, andinput/output (I/O) interface(s) 412.

Communications fabric 402 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 402 can beimplemented with one or more buses.

Memory 406 and persistent storage 408 are computer-readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM) 414 and cache memory 416. In general, memory 406 can include anysuitable volatile or non-volatile computer-readable storage media.

Integrated learning environment program 106 is stored in persistentstorage 408 for execution by one or more of the respective computerprocessors 404 via one or more memories of memory 406. In thisembodiment, persistent storage 408 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 408 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer-readable storagemedia that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices, including resources ofdistributed data processing environment 100. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links. Integratedlearning environment program 106 may be downloaded to persistent storage408 through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be accessible to computing device 405 and servercomputer 104, such as user workstation 114, and other computing devices(not shown). For example, I/O interface 412 may provide a connection toexternal devices 418 such as a keyboard, keypad, a touch screen, and/orsome other suitable input device. External devices 418 can also includeportable computer-readable storage media such as, for example, thumbdrives, portable optical or magnetic disks, and memory cards. Softwareand data used to practice embodiments of the present invention, e.g.,integrated learning environment program 106 can be stored on suchportable computer-readable storage media and can be loaded ontopersistent storage 408 via I/O interface(s) 412. I/O interface(s) 412also connect to a display 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be any tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general-purpose computer, a special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, a segment, or aportion of instructions, which comprises one or more executableinstructions for implementing the specified logical function(s). In somealternative implementations, the functions noted in the blocks may occurout of the order noted in the Figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A computer-implemented method comprising:training, by one or more processors, a chatbot for a customer chatsimulation based on customer service conversation data, task scenarios,and customer personas; monitoring, by the one or more processors,interactions between customer service agents and the chatbot trained forcustomer chat simulation, wherein the interactions include requestsprovided by the chatbot and respective responses to the requestsprovided by the customer service agents in respective customer serviceagent styles; determining, by the one or more processors, model customerservice agent responses to the requests using a sequence-to-sequencemodel, wherein the sequence-to-sequence model receives, as inputsequences, the requests in reverse order, and wherein thesequence-to-sequence model generates, as output sequences, the modelcustomer service agent responses; determining, by the one or moreprocessors, assessments of the performance of the customer serviceagents, including respective training levels of the customer serviceagents, based on comparisons between the respective responses of thecustomer service agents and the model customer service agent responses;generating, by the one or more processors, feedback for the customerservice agents based on the assessments of the performance of thecustomer service agents; and matching, by the one or more processors,the customer service agents to respective customers in a customerservice routing system using the respective customer service agentstyles and the performance of the respective customer service agents asground truths, wherein generating the feedback for the customer serviceagents includes generating a multiple-choice question for a firstcustomer service agent having a first training level, generating aresponse template for a second customer service agent having a secondtraining level, and generating a hint, extracted from a model customerservice agent response, for a third customer service agent having athird training level.
 2. The method of claim 1, wherein determining, bythe one or more processors, the model customer service agent responsesfurther comprises: determining, by the one or more processors, aplurality of model customer service agent responses for each interactionusing the sequence-to-sequence model; and selecting, by the one or moreprocessors, a respective model customer service agent response from theplurality of model customer service agent responses based on a targetstyle, a target tone, or a customer persona.
 3. The method of claim 1,wherein the sequence-to-sequence model: (i) uses an encoder neuralnetwork to map variable length input sequences to fixed length vectors,and (ii) uses a decoder neural network to map the fixed length vectorsto variable length output sequences.
 4. The method of claim 2, whereineach plurality of model customer service agent responses is based on therespective customer persona, a respective task scenario, and at leastone respective context data.
 5. The method of claim 4, wherein therespective customer persona, the respective task scenario, and the atleast one respective context data for each interaction are applied asadditional constraints for word embedding in the sequence-to-sequencemodel.
 6. The method of claim 1, wherein the comparisons between therespective responses and the model customer service agent responses arebased, at least in part, on automatic metrics.
 7. The method of claim 6,wherein the automatic metrics include a BLEU score.
 8. The method ofclaim 6, wherein the automatic metrics include a Tf-idf score.
 9. Themethod of claim 6, wherein the automatic metrics include a word2vecscore.
 10. The method of claim 2, wherein the selecting of therespective model customer service agent response from the plurality ofmodel customer service agent responses is based on the target style,wherein the target style is selected from a group of customer chatbotstyles, and wherein the group of customer chatbot styles is built as abottom-up taxonomy by performing unsupervised machine learning toextract customer chatbot styles from the customer service conversationdata.
 11. The method of claim 2, wherein the selecting of the respectivemodel customer service agent response from the plurality of modelcustomer service agent responses is further based on a beam search. 12.The method of claim 1, wherein the determining of the assessments of theperformance of the customer service agents includes comparing theperformance of at least one customer service agent to a threshold levelof performance.
 13. The method of claim 12, further comprising:determining, by the one or more processors, that the performance of theat least one customer service agent is below the threshold level ofperformance; and reducing, by the one or more processors, a difficultylevel for training the at least one customer service agent.
 14. Themethod of claim 12, further comprising: determining, by the one or moreprocessors, that the performance of the at least one customer serviceagent is above the threshold level of performance; and increasing, bythe one or more processors, a level of uncertainty in responses providedby the chatbot to the at least one customer service agent.
 15. Themethod of claim 1, further comprising: determining, by the one or moreprocessors, a plurality of model customer service agent responses usinga word-graph construction approach.
 16. The method of claim 1, furthercomprising: determining, by the one or more processors, a plurality ofmodel customer service agent responses using multi-sentence compression.17. The method of claim 1, wherein the generating of the feedback forthe customer service agents further includes asking the first customerservice agent to select the best response to the multiple-choicequestion, asking the second customer service agent to fill out theresponse template to respond to a customer request, and providing thehint to the third customer service agent.